/*
 * Motor.h
 *
 *  Created on: 06/10/2013
 *      Author: juliansci
 */

#ifndef MOTOR_H_
#define MOTOR_H_

#include "Elemento.h"

class Motor: public Elemento {
private:
	double posEngranajeX;
	double posEngranajeY;
	Elemento* engranaje;
	bool estadoMotor, funcinando;

public:
	Motor(double x, double y, double ancho, double alto, string pathImagen);
	virtual ~Motor();
	bool aceptaEngranaje();
	void agregarEngranaje(Elemento* engranaje);
	void mover(double centroX,double centroY);
	void eliminarEngranaje();
	void rotar(double angulo);
	void dibujar(double x, double y, double ancho, double alto,	SDL_Renderer* renderer);
	void jointearElemento(b2World* world);
	void eliminarReferencias(list<Elemento*>* elementosCanvas);
	Elemento* obtenerEngranaje();
	void actualizarSonido();
	bool esBasico();
	bool sinReferencias();


};

#endif /* MOTOR_H_ */
